Материалы
11 лет назад
Навигация ботов
Создание и правка навигационной сетки для ботов
Чтобы боты могли ориентироваться на карте и знать, где заложники, куда их вести, где закладывать бомбу, а также чтобы заложники знали, куда идти за спецназовцем, на карте должна быть создана навигационная сетка для ботов.
Когда вы добавляете на карту ботов, при отсутствии навигационной сетки запустится ее автоматическое создание. Если карта простенькая, на ней пара-тройка комнат, то автогенерацией можно ограничиться. Но на больших картах навигационная сетка может сгенерироваться неправильно, некоторые проходы не будут просчитаны, и боты будут "тупить", прыгать у стены, падать не туда, сталкиваться со стенами. Тогда нужно редактировать файл навигации вручную.
Ниже приводится список команд, с помощью которых происходит управление ботами и редактирование nav-сетки.
Управление ботамиbot_chatter off/radio/minimal/normal Как часто бот использует радиокомманды.
bot_defer_to_human 0/1 Поставьте 0, чтобы бот выполнил миссию на карте.
bot_difficulty 0/1/2/3 Сложность бота: 0 - Легкий, 1 - Нормальный, 2 – Тяжелый, 3 - Профессионал.
bot_join_after_player 0/1 Если равно 1, то бот ждет, когда человек подключится и только тогда подключается сам.
bot_join_team any/CT/T Боты присоединяются к определенной команде (или наугад).
bot_add Добавить бота в команду, где игроков меньше.
bot_add_ct Добавить бота-спецназовца
bot_add_t Добавить бота-террориста
bot_kick Кикнуть определенного бота, или же всех, если имя бота не было указано.
bot_kill Убить бота, или же всех, если имя бота не было указано.
bot_prefix "string" Определить префикс перед именами ботов.
bot_quota Минимальное количество ботов на сервере
bot_quota_mode normal/fill Определяет тип квоты для ботов. Если fill, то серевер будет кикать количество ботов, равное подключающимся людям.
bot_auto_vacate Если не равно нулю, боты будут автоматически покидать сервер, чтобы освободить место для игроков
bot_auto_follow Если не ноль, то боты могут следовать за игроком.
bot_memory_usage Сообщить о занимаемой ботами памяти.
bot_allow_rogues 0/1 Если не равно нулю, боты иногда могут "выходить из повиновения". В этом режиме боты не слушаются радио команд и не следуют задаче карты.
bot_eco_limit Если не ноль, то боты не будут покупать, если сумма денег будет меньше этой цифры.
Ограничения по оружиюbot_all_weapons Любое оружие
bot_knives_only Только ножи
bot_pistols_only Только пистолеты
bot_snipers_only Только снайперские винтовки
bot_allow_grenades 0/1 Использование гранат
bot_allow_pistols 0/1 Использование пистолетов
bot_allow_rifles 0/1 Использование штурмовых винтовок
bot_allow_shotguns 0/1 Использование дробовиков
bot_allow_snipers 0/1 Использование снайперских винтовок
bot_allow_sub_machine_guns 0/1 Использование пистолетов-пулемётов
Редактирование навигацииsv_cheats 0/1 Должно быть равно 1, чтобы можно было редактировать сетку навигации
nav_quicksave Установите значение 1 для пропуска фазы анализа, занимающей много времени. Полезно для сбора данных и тестирования
nav_generate Автоматически генерировать сетку навигации для текущей карты.
nav_analyze Обновить сетку навигации для текущей карты и сохранить их на диск.
nav_edit Если 1, то можно вручную редактировать сетку навигации.
nav_mark_walkable Отметить текущее положение как проходимую для игрока позицию. При автоматической генерации они будут просчитываться в первую очередь
nav_clear_walkable_marks Удалить предыдущую установленную проходимую позицию.
nav_load Загрузить сетку навигации из nav-файла
nav_save Сохранить сетку навигации в nav-файл
nav_mark Выделить зону под курсором для последующих манипуляций с ней.
nav_corner_lower Опустить выбранный угол выделенной области
nav_corner_raise Поднять выбранный угол выделенной области
nav_corner_select Выбрать угол выделенной области. Используйте несколько раз, чтобы выбрать другие углы
nav_begin_area Определяет угол новой области. Для завершения создания области навигации перетащите противоположный угол в желаемую точку и введите команду ‘nav_end_area’.
nav_end_area Определить второй угол у зоны и создать его.
nav_connect Для соединения двух областей, выберите первую область командой nav_mark, наведите курсор на вторую область и введите эту команду. Эта команда создает ОДНОСТОРОННЕЕ соединение от первой ко второй области, т.е. боты пойдут только в одну сторону. Для создания двусторонней связи повторите операцию от второй области к первой.
nav_disconnect Для разрыва соединения между областями, выберите первую область командой nav_mark, наведите курсор на вторую область и введите эту команду. Это удалит все соединения между двуми областями.
nav_crouch Включает/выключает флаг необходимости приседания в данной области, используемый ботами и заложниками. Вход в канализацию, вентиляцию, узкаю трубу
nav_delete Удаляет область под курсором
nav_jump Включает/выключает флаг необходимости прыжка в данной области, используемый ботами и заложниками. Если без прыжка бот не сможет пройти дальше
nav_merge Для слияния двух областей в одну, выберите первую область командой nav_mark, пометьте вторую, наведя на нее курсор и введите эту команду.
nav_no_jump Включает/выключает флаг запрета прыжков в данной области, используемый ботами и заложниками. Например, над головой расположен trigger_hurt
nav_precise Включает/выключает флаг осторожного передвижения в данной области, используемый ботами и заложниками. Например, ловушки, реагирующие на звук шагов
nav_show_approach_points Показать точки приближения в навигационной сетке
nav_show_danger Показать текущие «уровни опасности»
nav_splice Для состыковки двух областей выберите первую область командой nav_mark, наведите курсор на вторую область и введите эту команду для создания новой соединяющей области между ними.
nav_split Для разделения области на две части расположите линию разделения с помощью курсора и введите эту команду
nav_strip Удаляет все точки укрытия, столкновения и приближения из выбранной области
nav_area_bgcolor Цвет в формате RGBA для использования в качестве заднего фона в областях навигации при редактировании.
nav_check_floor Обновляет статус заблокировано/разблокировано для каждой области навигации.
nav_clear_walkable_marks Удалить все ранее установленные проходимые позиции
nav_compress_id Пересортирует ID областей и лестниц по порядку.
nav_corner_place_on_ground Располагает выбранный угол выделенной области на земле
nav_ladder_flip Меняет направление выделенной лестницы
nav_show_area_info Длительность отображения ID и атрибутов навигационных областей при редактировании в секундах
nav_snap_to_grid Стыковать с сеткой при создании новых навигационных областей
nav_split_place_on_ground При значении TRUE области навигации будут расположены на одном уровне с землей при разделении.
nav_transient Включает/выключает флаг "Эта область может быть заблокирована", используемый ботами и заложниками. Работает вместе с энтити-брашами. Например, есть некий проход, но он закрыт стеной. Если пометить боласть под стеной этим флагом, боты туда не пойдут, пока стена не исчезнет
nav_update_blocked Обновляет статус заблокировано/разблокировано для каждой области навигации.
nav_avoid Включает/выключает флаг "Избегать данной области, если это возможно", используемый ботами и заложниками
nav_dont_hide Включает/выключает флаг "Область не подходит для укрытия", используемый ботами и заложниками
nav_run Включает/выключает флаг необходимости бега в данной области, используемый ботами и заложниками. Например, проваливающийся пол или ловушка
nav_stand Включает/выключает флаг "Чтобы здесь спрятаться, нужно стоять", используемый ботами и заложниками. Например, такой флаг можно поставить на зону рядом с торшером. Если бот стоит, его сложнее будет обнаружить за ним
Контролирование навигации ботов (Тестирование навигационных путей)bot_crouch 0/1 Маркирует отмеченную облать как пункт приседания ботов.
bot_debug 0/1 Используется для отлаживания информации о поведении бота.
bot_freeze 0/1 Используется для заморозки(остановки) всех ботов; 1 вкл, 0 выкл.
bot_goto_mark Отправляет бота на выбранную область
bot_show_nav 0/1 Показать навигационные пути ботов
bot_stop 0/1 Остановка ботов. Боты просто стоят и ничего не делают
bot_traceview 0/1 Увидеть поле зрения ботов при навигации по карте
bot_walk 0/1 Боты только ходят. То есть они не могут бежать
bot_zombie 0/1 Боты стоят и ничего не делают, но в отличие от bot_stop реагируют на действия игрока. Используется для тестирования навигационных путей.
Объяснять, в чем смысл навигации ботов, что она из себя представляется, я не буду, лучше один раз увидеть, чем сто раз прочитать, поэтому просто попробуйте поработать с этими командами. Редактирование навигационной сетки на самом деле занятие очень интересное. Дам только несколько советов. Часто используемые команды при правке навигации лучше забиндить на клавиши, иначе вам придется потратить почти все время на ввод команд.
Когда делаете лестницы, покрывайте их наклонным брашем, покрытым текстурой CLIP, чтобы боты не прыгали на каждой ступеньке. По возможности не делайте узких перекладин, иначе боты будут падать. В крайнем случае используйте невидимый браш, покрытый текстурой CLIP. Области навигации рядом с углами разбивайте на несколько мелких, чтобы боты не тыкались в стены. Например:
Просто делаем так:
Но обычно боты ведут себя нормально с углами, если карта сделана правильно. Удачной игры с ботами!
Комментарии пользователей сайта:
Может добавить Конфиг со всеми командами?
Если Вам понравилась эта страница, Вы можете разместить где-нибудь ссылку на неё: